package cn.zxy.service;

import cn.zxy.mapper.EduInfoMapper;
import cn.zxy.model.EduInfo;
import cn.zxy.model.EduInfoQuery;
import cn.zxy.model.PageEduInfo;
import cn.zxy.threaLocal.LocalPageInfoUtil;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import java.util.List;

@Service
public class EduInfoService {

    @Autowired
    private EduInfoMapper eduInfoMapper;

    //重写方法
    //查询
    public List<EduInfo> select(EduInfoQuery query){
        //分页 - 1页里面有两条数据
//        PageHelper.startPage(1,2);
        //动态获取分页
       // PageHelper.startPage(query.getPageNum(),query.getPageSize());

//        RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
//        String pageNum = ((ServletRequestAttributes) requestAttributes).getRequest().getParameter("pageNum");
//        String pageSize = ((ServletRequestAttributes) requestAttributes).getRequest().getParameter("pageSize");
//        if(pageNum !=null && pageSize!=null){
//            PageHelper.startPage(query.getPageNum(), query.getPageSize());
//        }
//
////        if (query.getPageNum()!=null && query.getPageSize()!= null){
////            PageHelper.startPage(query.getPageNum(),query.getPageSize());
////        }
//
//        List<EduInfo> selectList = eduInfoMapper.select(query);
//
//        //判断selectList是否是page这个类，如果是，则需要强转一下
//        if (selectList instanceof Page){
//            Page page = (Page) selectList;
//            long total = page.getTotal();
//            LocalPageInfoUtil.set(PageEduInfo.builder().total(total).build());
//        }
        List<EduInfo> selectList = eduInfoMapper.select(query);
        return selectList;

    }

    //插入
    public Integer insert(EduInfo eduInfo){
        return eduInfoMapper.insert(eduInfo);
    }

    //修改
    public Integer update(EduInfo eduInfo){

        return eduInfoMapper.update(eduInfo);
    }

    //删除
    public Integer delete(Integer id){
        return  eduInfoMapper.updateStatus(id,0);
    }

}
